module.exports = (font, text, callback) => {
  const Fontmin = require('fontmin')
  const path = require('path')
  const fs = require('fs')
  // let srcPath = `./fonts/${font}.ttf` // 字体源文件
   // let destPath = './font'    // 输出路径
  let srcPath = path.join(__dirname, `../../public/files/fonts/${font}.ttf`) // 字体源文件 
  let destPath = path.join(__dirname, '../../public/files/font')    // 输出路径
  let txt = text || ''
  
  // 清空输出字体文件夹
  /*let emptyDir = (destPath) => {
    const files = fs.readdirSync(destPath)
    files.forEach(file => {
        let filePath = path.join(`${destPath}/${file}`)
        const stats = fs.statSync(filePath)
        if (stats.isDirectory()) {
            emptyDir(filePath)
        } else {
            fs.unlinkSync(filePath)
            // console.log(`删除${file}文件成功`)
        }
    })
  }*/
  // emptyDir(destPath)

  // console.log(txt)
  // 初始化
  let fontmin = new Fontmin()
      .src(srcPath)               // 输入配置
      .use(Fontmin.glyph({        // 字型提取插件
          text: txt              // 所需文字
      }))
      .use(Fontmin.ttf2eot())     // eot 转换插件
      .use(Fontmin.ttf2woff())    // woff 转换插件     
      .use(Fontmin.ttf2svg())     // svg 转换插件
      .use(Fontmin.css())         // css 生成插件
      .dest(destPath)            // 输出配置
  
  // 执行  
  fontmin.run((err, files, stream) => {
    if (err) {                  // 异常捕捉
        console.error(err)
    }
    // console.log('fontmin done')        // 成功
    return callback('done')
  })
}